05 sample_laybtn_ease.hsp

sample\ 05 sample_laybtn_ease.hsp

#include "mod_layerbutton.hsp"

// ボタン作成
pos 10,100
repeat 4
	tien = 10*cnt
	pos ,ginfo_cy+10
	layerbutton 180,60, tien, 0, 30+tien,20,0, 15+tien/2,10,0 {
		if lparam == objlayer_cmddraw {
			color 0,0,0 : font msgothic, 18, 1
			ti = objlayer_option
			// ボタン状態で分岐 (+イージングで表示位置,色を変える)
			switch layerbtn_stat
			case LAYBTN_SHOW_IN
				color 0,0,255 : laybtn_boxfb objlayer_axis_x-laybtn_ease(200, 0, ti), objlayer_axis_y, objlayer_axis_x2-laybtn_ease(200, 0, ti), objlayer_axis_y2, -1
				color 250,250,250 : laybtn_mes "遅延="+ti,0, 1,1, -laybtn_ease(200, 0, ti)
				swbreak
			case LAYBTN_FOCUS_IN
				color laybtn_ease(0,128),0,255 : laybtn_boxfb objlayer_axis_x, objlayer_axis_y, objlayer_axis_x2, objlayer_axis_y2, -1
				color 250,250,250 : laybtn_mes "遅延="+ti,0, 1,1
				swbreak
			case LAYBTN_FOCUS_OUT
				color laybtn_ease(128,0),0,255 : laybtn_boxfb objlayer_axis_x, objlayer_axis_y, objlayer_axis_x2, objlayer_axis_y2, -1
				color 250,250,250 : laybtn_mes "遅延="+ti,0, 1,1
				swbreak
			case LAYBTN_PRESS_IN
				color 128,128,255 : laybtn_boxfb objlayer_axis_x, objlayer_axis_y, objlayer_axis_x2, objlayer_axis_y2, -1
				color 250,250,250 : laybtn_mes "遅延="+ti,0, 1,1
				swbreak
			case LAYBTN_SHOW_OUT
			case LAYBTN_SHOW_OUT_SELECTED
				if layerbtn_stat & LAYBTN_SELECTED { color 128,128,255 } else { color 0,0,255 }
				laybtn_boxfb objlayer_axis_x-laybtn_ease(0, 200, ti/2), objlayer_axis_y, objlayer_axis_x2-laybtn_ease(0, 200, ti/2), objlayer_axis_y2, -1
				color 250,250,250 : laybtn_mes "遅延="+ti,0, 1,1, -laybtn_ease(0, 200, ti/2)
				swbreak
			swend
		}
		return
	}
loop
// 表示ループ
repeat
	redraw 0 : color 255,255,255 : boxf : color : pos 0,0 : font msgothic,17
	redraw 1
	await 1000/60
loop